package com.hakim.wfb.customer.service;

import com.hakim.wfb.customer.params.trans.*;
import com.hakim.wfb.customer.result.trans.*;
import com.hkfs.fundamental.api.data.ListResultEx;
import com.hkfs.fundamental.api.data.ObjectResultEx;
import com.hkfs.fundamental.api.data.ResultEx;

/**
 * Created by Administrator on 2017/7/15.
 */
public interface WithdrawService {

    /**
     * @param param
     * @return
     */
    ListResultEx<WithdrawRecordView> getWithdrawRecords(GetWithdrawRecordParameter param);

    /**
     * @param userId
     * @return
     */
    ListResultEx<WithdrawAddrView> getWithdrawAddrs(String userId);

    /**
     * @param param
     * @return
     */
    ResultEx createWithdrawOrder(WithdrawCreditPointParameter param);

    /**
     * @param param
     * @return
     */
    ResultEx updateAddr(GetWithdrawAddrParameter param);

    /**
     * @return
     */
    ListResultEx<WithdrawAddrTypeView> getTypes();

    /**
     * 计算积分提现
     *
     * @param parameter
     * @return
     */
    ObjectResultEx<PointWithdrawCalculateView> calculateWithdrawPoint(CalculatePointWithdrawParameter param);
}
